Human-computer interaction generally relates to the input of information to and control of a computer by a user. Many common and popular computer programs and operating systems have been developed to function primarily with input methods involving physical contact or manipulation (e.g., a mouse or a keyboard). This type of physical input method is referred to herein as contact-required input. It can be difficult for people who desire to use non-contact input methods to interact with these computer programs and operating systems to their full potential. Some people must use non-contact input methods for various reasons (e.g., because of an injury or disability).
An example of a non-contact input device is an eye tracking device such as that described in U.S. Pat. No. 7,572,008. Eye tracking devices can operate on the principal of illuminating an eye with infrared light and utilizing an image sensor to detect reflection of the light off the eye. A processor can use the image sensor's data to calculate the direction of a user's gaze.
However, as technology progresses, computer programs and operating systems incorporate new forms of human-computer interaction, based on contact-required inputs, to enable both simple and complex functionality. An example of a form of human-computer interaction is touch-based interaction on a computer, tablet, phone or the like, whereby a user interacts with the device by touching and by performing gestures (e.g., multi-finger gestures) on a touch-sensitive device (e.g., a touchscreen). This and other forms of user interaction require a very physical connection between the device and the user, often requiring multiple points of physical contact between the user and the touch-sensitive device (e.g., for multi-finger gestures).
It can be desirable to develop human-computer interaction methods based on non-contact inputs with the ability to perform both simple and complex functionality. It can be further desirable to develop human-computer interaction methods based on non-contact inputs that can function effectively on computing devices developed for use primarily with contact-required inputs.
Many non-contact interactions lack the clear definition and identification of contact methods, therefore it can sometimes be ambiguous as to the intention of a non-contact input command. In order to assist with this problem, it has previously been proposed to utilize a non-contact input such as eye-tracking with a contact-required input device, such as a computer mouse or touchpad. For example, U.S. Pat. No. 6,204,828 describes a system whereby display of a cursor on screen is suspended and displayed at a user's gaze location upon movement by a computer mouse.
Some interaction methods are not intuitive and the user may not know for sure if the eye tracking is functioning or the exact location of the cursor. Some interaction methods result in a cognitive disruption whereby after the user has triggered a movement of a cursor, the user must anticipate the future location of the cursor and adjust accordingly.
It can be desirable to signal to the user as early as possible the future location of the cursor while determining whether the user intends on triggering a mouse movement. Further, as eye tracking systems may not provide 100% accuracy, the determined gaze position to which a cursor will move may not be the position intended by the user. It can be desirable to assist a user with more accurately determining how and when to use a non-contact input, such as eye tracking, in combination with a contact-required input, such as a touchpad or mouse.